﻿using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using transferObjects;
using System.Data.SqlClient;
using System.Collections.Generic;

using dao.sqlServer2005;
using dao;

/// <summary>
/// Descripción breve de PrestadorServicioService
/// </summary>
namespace services
{
    public class EmpresaService
    {
        //envia los datos al DB para agregar la empresa
        public int agregarEmpresa(Empresa empresa)
        {
            SqlConnection conn = ConnectionManager.getSqlConnection();
            conn.Open();

            //instancia para hacer transacciones a la bd
            EmpresaDB empresaDB = new EmpresaDB(conn);
            int res = empresaDB.agregarEmpresa(empresa);


            conn.Close();
            return res;
        }

        //obtenerTodasEmpresas
        public Empresa[] obtenerTodasEmpresas()
        {
            SqlConnection conn = ConnectionManager.getSqlConnection();
            conn.Open();

            EmpresaDB empresaDB = new EmpresaDB(conn);
            List<Empresa> resp = empresaDB.obtenerTodasEmpresas();
            conn.Close();
            return resp.ToArray();
        }

        //obtener una Empresa
        public Empresa obtenerEmpresa(String empresaID)
        {
            SqlConnection conn = ConnectionManager.getSqlConnection();
            conn.Open();

            EmpresaDB empresaDB = new EmpresaDB(conn);
            Empresa empresa = empresaDB.obtenerEmpresa(empresaID);
            conn.Close();
            return empresa;
        }

        //obtenerNombresEmpresas
        public Array obtenerNombresEmpresas()
        {
            SqlConnection conn = ConnectionManager.getSqlConnection();
            conn.Open();

            EmpresaDB empresaDB = new EmpresaDB(conn);
            List<String> resp = empresaDB.obtenerNombresEmpresas();
            conn.Close();

            return resp.ToArray();
        }

        //modificar empresa
        public int modificarEmpresa(Empresa empresa)
        {
            SqlConnection conn = ConnectionManager.getSqlConnection();
            conn.Open();

            //instancia para hacer transacciones a la base de datos
            EmpresaDB empresaDB = new EmpresaDB(conn);
            int res = empresaDB.modificarEmpresa(empresa);

            conn.Close();
            return res;
        }

        //modificar estado de una empresa
        public int modificarEstadoEmpresa(String estado, String nombreFantasia)
        {
            SqlConnection conn = ConnectionManager.getSqlConnection();
            conn.Open();

            //instancia para hacer transacciones a la base de datos
            EmpresaDB empresaDB = new EmpresaDB(conn);
            int res = empresaDB.modificarEstadoEmpresa(estado, nombreFantasia);

            conn.Close();
            return res;
        }


        //obtener ID Empresa
        public String obtenerEmpresaID(String nombreFantasia)
        {
            SqlConnection conn = ConnectionManager.getSqlConnection();
            conn.Open();

            EmpresaDB empresaDB = new EmpresaDB(conn);
            String empresa_ID = empresaDB.obtenerEmpresaID(nombreFantasia);
            conn.Close();
            return empresa_ID;
        }

    }
}
